/*
 * Filename:    InsuredMedicalDetailService.java
 * Copyright:   2015 中国平安保险（集团）股份有限公司 版权所有
 * Company:     平安科技养老险及健康险系统开发部
 * Create at:   2015-1-28
 */
package com.paic.mhis.hcpms.trust.biz.service;

import java.io.IOException;
import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.paic.mhis.hcpms.trust.dto.IntegrityDoctorDTO;
import com.paic.mhis.hcpms.trust.dto.IntegrityMedicalDTO;

public interface InsuredMedicalDetailService {
	/**
	 * 医务人员详情列表
	 * 
	 * @param transferJson
	 *            :查询参数
	 * @return
	 */
	public Map<String, Object> getMedicalDetailList(Map<Object, Object> paramMap);

	/**
	 * 获取导出条数
	 * 
	 * @param paramMap
	 * @return
	 */
	public int getCountMedicalDetailReport(Map<Object, Object> paramMap);

	/**
	 * 医务人员列表查询导出
	 * 
	 * @param paramMap
	 * @return
	 */
	public List<IntegrityMedicalDTO> findMedicalDetailReport(int pageSize, int currentPage, Map<Object, Object> paramMap);

	/**
	 * 根据医务人员证件号码查询姓名及执业医院信息
	 * 
	 * @param map
	 * @return
	 */
	public List<IntegrityDoctorDTO> queryIntegrityDoctor(Map<String, Object> map);

	/**
	 * 根据任务编号查询执业医院列表信息
	 * 
	 * @param taskNo
	 * @return
	 */
	public List<IntegrityDoctorDTO> queryIntegrityDoctorList(String taskNo);

	/**
	 * 获取流程编号
	 * 
	 * @return
	 */
	public String queryIntegrityNo();

	/**
	 * 根据流程编号查询姓名及执业医院信息
	 * 
	 * @param map
	 * @return
	 */
	public IntegrityDoctorDTO queryIntegrityDoctorByTaskNo(String taskNo);

	/**
	 * 医务人员登记查询
	 * 
	 * @param paramMap
	 * @return
	 */
	public Map<String, Object> insuredMedicalListAdd(Map<Object, Object> paramMap);

	/**
	 * 保存证件信息表
	 * 
	 * @param taskNo
	 * @param transferJson
	 * @return
	 */
	public int updateCredentials(String taskNo, JSONObject transferJson);

	/**
	 * 导出FWA智能审核情况信息
	 * 
	 * @param paramMap
	 * @return
	 * @throws IOException
	 */
	public String exportIntegrityIllegalToCsv(Map<String, Object> paramMap) throws IOException;

	/**
	 * 组织FWA审核情况信息
	 * 
	 * @param paramMap
	 * @return
	 */
	public Map<String, Object> queryIntegrityIllegal(Map<String, Object> paramMap);

	/**
	 * 医务人员登记导出查询(暂存表待修改的数据)
	 * 
	 * @param paramMap
	 * @return
	 */
	public List<IntegrityMedicalDTO> insuredMedicalListAddExport(Map<Object, Object> paramMap);

	/**
	 * 医务人员登记导出查询(临时表待修改的数据)
	 * 
	 * @param paramMap
	 * @return
	 */
	public List<IntegrityMedicalDTO> insuredMedicalListAddExportTemp(Map<Object, Object> paramMap);

}
